home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-03 / qbwiz13.zip / QBWIZ.DOC < prev    next >
Text File  |  1992-07-15  |  6KB  |  152 lines

  1.                The QuickBasic Wizard's Library
  2.  
  3.      QBWiz  Copyright (c) 1990-1992  Thomas G. Hanlin III
  4.  
  5.  
  6.  
  7. This is QBWiz, an assembly language library for use with
  8. QuickBasic and BASCOM.  It was tested under QB 4.5 and is
  9. expected to work with QuickBasic versions 4.0 - 4.5 and BASCOM
  10. 6.0.  Due to strong dependency on the internals of the
  11. compiler, QBWiz may well not work with other versions.  QBWiz
  12. is only for stand-alone compiled programs.  It will not work
  13. with programs that require the runtime module (BRUNxx) or
  14. inside the QB environment.
  15.  
  16. The QBWiz collection is copyrighted and may be distributed only
  17. if the following conditions are met:
  18.  
  19.    All files must be included in original, unaltered condition.
  20.    This means that none of the original files may be altered,
  21.    and that no additions or deletions may be made to the set of
  22.    original files.
  23.  
  24. You use this library at your own risk.  It has been tested by
  25. me on my own computer, but I will not assume any responsibility
  26. for any problems which QBWiz may cause you.  If you do
  27. encounter a problem, please let me know about it, and I will do
  28. my best to verify and repair the error.
  29.  
  30. The accompanying source code is designed for the MASM 6.0
  31. assembler and may require modifications to assemble with A86,
  32. OPTASM, or TASM.
  33.  
  34. Note that QBWiz will work only with stand-alone compiled BASIC
  35. programs, that is, programs compiled with the /O switch.
  36.  
  37. The QBWiz library provides a way to access many of QuickBasic's
  38. internal variables, which is useful in general and can be
  39. especially handy in writing generic subprograms.  The
  40. information provided allows subprograms to do whatever they may
  41. need to do and reset the original values when they exit. Among
  42. the information that may be accessed is what the current screen
  43. colors are, whether the cursor is visible (and if so, what size
  44. it is), what the current display pages are, whether redirection
  45. is in effect, and so forth. It is also possible to set certain
  46. values, like the error level to return to DOS when your program
  47. finishes.
  48.  
  49. Replacements for BCOM45.LIB:
  50.   These routines will not work with Crescent's P.D.Q. library,
  51.   which does not maintain internal compatibility with the
  52.   standard BASIC library.  However, with the exception of the
  53.   PrinterWidth% function, they work fine with my QBTiny library.
  54.  
  55.                           Libraries
  56.  
  57.  
  58.  
  59. If you are not familiar with libraries, you're missing a good
  60. thing.  A library is a collection of routines.  These may be
  61. subprograms or functions written in BASIC and compiled to .OBJ
  62. format, assembly language routines, or even routines written in
  63. Microsoft C, Fortran or Pascal using the "mixed language"
  64. calling conventions.  When your program is compiled, you can
  65. LINK it with one or more libraries.  The LINK utility will
  66. automatically take the routines that you use from the library
  67. and add them to your program.  A library is a great way to put
  68. together a set of standard routines which you use frequently.
  69. Libraries of this sort can also be obtained from your local BBS
  70. or purchased outright.  There are many, many libraries
  71. available, ranging from special-purpose collections containing
  72. such things as communications support or dBASE access to
  73. full-spectrum libraries with hundreds of routines of all kinds.
  74. Don't miss out-- scan your local BBS today!
  75.  
  76. If you were to LINK a normal BASIC program, you'd probably type
  77. something like this:
  78.  
  79.    LINK program/EX;
  80.  
  81. To use the functions in the provided QBWIZ.LIB, you would type
  82. something like this instead:
  83.  
  84.    LINK program/EX,,NUL,QBWIZ;
  85.  
  86. You can use multiple libraries very easily:
  87.  
  88.    LINK program/EX,,NUL,QBWIZ+anylib;
  89.  
  90.                  QuickBasic Access Functions
  91.  
  92.  
  93.  
  94. The QuickBasic Access Functions are contained in the QBWIZ.LIB
  95. library. The function declaration information for this library
  96. is contained in QBWIZ.BI, which should be included at the top
  97. of your programs.  Either copy QBWIZ.BI directly into your
  98. program or use an include statement:
  99.  
  100.    REM $INCLUDE: 'QBWIZ.BI'
  101.  
  102. These functions allow you to obtain information from
  103. QuickBasic's internal variables.  Many useful values can be
  104. obtained this way that would not be available otherwise.
  105.  
  106.  
  107. The following functions are available:
  108.  
  109. ActPage%         active display page
  110. BackColor%       current text background color
  111. BorderColor%     current border color
  112. ColorBurst%      whether color burst is on: 0 no, -1 yes
  113. CommandLine$     original command line
  114. CRT$             type of display adapter
  115. CursorStart%     starting cursor scan line
  116. CursorStop%      ending cursor scan line
  117. DefSeg%          data segment defined by DEF SEG
  118. ForeColor%       current text foreground color
  119. PrinterWidth%    width of the printer (columns)
  120. RedirIn%         whether input is redirected: 0 no, -1 yes
  121. RedirOut%        whether output is redirected: 0 no, -1 yes
  122. ScreenHeight%    height of the screen (rows)
  123. ScreenMode%      current BASIC screen mode
  124. ScreenWidth%     width of the screen (columns)
  125. ShowCursor%      whether the cursor is visible: 0 no, -1 yes
  126. ViewBottom%      bottom row of the screen (VIEW PRINT info)
  127. ViewTop%         top row of the screen (VIEW PRINT info)
  128. VisPage%         visible display page
  129.  
  130.                 QuickBasic Access Subprograms
  131.  
  132.  
  133.  
  134. The QuickBasic Access Subprograms are contained in the
  135. QBWIZ.LIB library. The function declaration information for
  136. this library is contained in QBWIZ.BI, which should be
  137. included at the top of your programs.  Either copy QBWIZ.BI
  138. directly into your program or use an include statement:
  139.  
  140.    REM $INCLUDE: 'QBWIZ.BI'
  141.  
  142. These subprograms allow you to alter information in
  143. QuickBasic's internal variables.  This allows you to accomplish
  144. some things that might not otherwise be possible.
  145.  
  146.  
  147. The following subprograms are available:
  148.  
  149. ErrLevel x%      error level to return to DOS when program ends
  150.                  (x% may be from 0 - 255)
  151.  
  152.